package com.tanhua.domain.mongo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bson.types.ObjectId;
import org.springframework.data.mongodb.core.mapping.Document;

import java.io.Serializable;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "quanzi_comment")
public class Comment implements Serializable {

    private ObjectId id;

    private Long userId;
    /**评论对象id，可以是动态，视频， 评论**/
    private ObjectId publishId;
    /**评论类型：1 点赞，2 文字评论，3 喜欢**/
    private Integer commentType;
    /**评论对象类型：1 对动态进行评论，2 对视频进行评论，3 对文字评论进行评论**/
    private Integer pubType;
    /**文本评论内容**/
    private String content;
    /**对文本评论的点赞数**/
    private Integer likeCount;
    /**评论时间**/
    private Long created;
    /**针对谁评论**/
    private Long publishUserId;


    /**
     * 根据commentType类型，获取对应的数量字段。
     * @return
     * commentType为1（点赞）：对应likeCount  <br>
     * commentType为2（评论）：对应commentCount <br>
     * commentType为3（喜欢）：对应loveCount <br>
     */
    public String getCountColumn() {
        switch (this.commentType) {
            case 1:
                return "likeCount";
            case 2:
                return "commentCount";
            case 3:
                return "loveCount";
            default:
                return "";
        }
    }
}
